package com.lty.jeeg.server.modules.fas.service;

import com.lty.jeeg.server.common.enums.ResponseEnum;
import com.lty.jeeg.server.modules.fas.dto.StockDTO;
import com.lty.jeeg.server.modules.fas.export.GoodsExportEntity;
import com.lty.jeeg.server.modules.fas.export.StockExportEntity;
import com.lty.jeeg.server.modules.fas.export.StockExportEntityDP;
import com.lty.jeeg.server.modules.fas.export.StockImportEntityDP;
import com.lty.jeeg.server.modules.fas.model.Stock;
import com.lty.jeeg.server.common.page.table.PageTableRequest;
import com.lty.jeeg.server.common.page.table.PageTableResponse;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author : LTY
 * @date : 2019-02-13 10:11:33
 * Description : 库存统计
 */
public interface StockService {

    /**
     * 根据ID获取
     * @param id ID
     * @return bean
     */
    Stock getById(Long id);

    /**
     * 删除
     * @param id ID
     * @return 1/0
     */
    int delete(Long id);

    /**
     * 修改
     * @param stock bean
     * @return 1/0
     */
    int update(Stock stock);

    /**
     * 保存
     * @param stock bean
     * @return ID
     */
    Long save(Stock stock);

    /**
     * 列表
     * @param request ID
     * @return 分页
     */
    PageTableResponse list(PageTableRequest request);

    /**
     * 修改闲置
     * @param request
     * @return
     */
    ResponseEnum updateIdle(HttpServletRequest request);

    /**
     * 导出数据
     * @param stockDTO
     * @return
     */
    List<StockExportEntity> getExportDatas(StockDTO stockDTO);

    /**
     * 导出个人库存和部门库存列表数据
     * @param stockDTO
     * @return
     */
    List<StockExportEntityDP> getExportDatasDP(StockDTO stockDTO);

    /**
     * 根据商品id和部门id获取部门库存
     * @param goodsId
     * @param deptidcome
     * @return
     */
    Stock gets(Long goodsId,Long deptidcome);

    /**
     * 库存信息导入
     * @author xuchen
     * @param stockList
     * @return
     */
    List<StockImportEntityDP> importData(List<Object> stockList);
}
